package com.ruoyi.project.module.group.service;

import com.ruoyi.project.module.group.domain.Group;
import org.springframework.transaction.annotation.Transactional;

import java.util.List;

/**
 * 配置组 服务层
 * 
 * @author ruoyi
 * @date 2018-11-08
 */
public interface IGroupService 
{
	/**
     * 查询配置组信息
     * 
     * @param configGroupId 配置组ID
     * @return 配置组信息
     */
	public Group selectGroupById(Long configGroupId);
	
	/**
     * 查询配置组列表
     * 
     * @param group 配置组信息
     * @return 配置组集合
     */
	public List<Group> selectGroupList(Group group);
	
	/**
     * 新增配置组
     * 
     * @param group 配置组信息
     * @return 结果
     */
	public int insertGroup(Group group);
	
	/**
     * 修改配置组
     * 
     * @param group 配置组信息
     * @return 结果
     */
	public int updateGroup(Group group);
		
	/**
     * 删除配置组信息
     * 
     * @param ids 需要删除的数据ID
     * @return 结果
     */
	public int deleteGroupByIds(String ids);


	boolean hasChilds(Long uniqueId);


	/**
	 * 复制配置组
	 *
	 * @param group 配置组信息
	 * @return 结果
	 */
	int copyGroup(Long sourceConfigGroupId, Group group);


	/**
	 * 发布指定配置到多个应用
	 * @param configGroupId
	 * @param appIds
	 * @return
	 */
	void release(Long configGroupId,Long[] appIds);
}
